﻿Imports VN.INS.BL.BC
Imports System.Data
Imports System.Web
Imports System.IO

Partial Class Devida_InformeMensual
    Inherits System.Web.UI.Page

#Region "EVENTOS"

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If (Not (Page.IsPostBack)) Then
            ViewState("VSpersona") = Session("Persona")
            ViewState("VSPerfil") = Session("perfil")
            ListaMonitoreador()

            ListaPeriodo()

            'By Tigrito (03/08/2013): Habilitado de emergencia
            ViewState("Filas") = 1

            'Manejo de botones y combo segun perfil de usuario
            If ViewState("VSPerfil") = "AD" Or ViewState("VSPerfil") = "RE" Then
                ddl_Monitoreador.Enabled = True
                ibn_consultar.Visible = True
                ibn_aprobar.Visible = False
                ibn_eliminar.Visible = False
                ibn_modificar.Visible = False
                ibn_ingresar.Visible = False
                ibn_salir.Visible = True
                ddl_Monitoreador.SelectedValue = "all"
                If ViewState("Filas") > 0 Then
                    CargaGrillaAdministrador()
                End If
            ElseIf ViewState("VSPerfil") = "MO" Then
                ddl_Monitoreador.Enabled = False
                ibn_consultar.Visible = True
                ibn_aprobar.Visible = False
                ibn_eliminar.Visible = False
                ibn_modificar.Visible = True
                ibn_ingresar.Visible = True
                ibn_salir.Visible = True
                ddl_Monitoreador.SelectedValue = ViewState("VSpersona")
                If ViewState("Filas") > 0 Then
                    CargaGrillaMonitoreador()
                End If
            ElseIf ViewState("VSPerfil") = "JO" Then
                ddl_Monitoreador.Enabled = True
                ibn_consultar.Visible = True
                ibn_aprobar.Visible = True
                ibn_eliminar.Visible = False
                ibn_modificar.Visible = False
                ibn_ingresar.Visible = False
                ibn_salir.Visible = True
                ddl_Monitoreador.SelectedValue = "all"
                If ViewState("Filas") > 0 Then
                    CargaGrillaJefeInmediato()
                End If
            ElseIf ViewState("VSPerfil") = "EP" Then
                If (ViewState("VSpersona") = "PER-0026") Or (ViewState("VSpersona") = "PER-0046") Or (ViewState("VSpersona") = "PER-0075") Or (ViewState("VSpersona") = "PER-0022") Then
                    ibn_eliminar.Visible = False
                    ibn_consultar.Visible = True
                    ibn_aprobar.Visible = True
                    ibn_modificar.Visible = False
                    ibn_salir.Visible = True
                    ibn_ingresar.Visible = False
                    ddl_Monitoreador.SelectedValue = "all"
                    If ViewState("Filas") > 0 Then
                        CargaGrillaEspecialista()
                    End If

                Else 'By Tigrito (08/07/2013): Para el resto de especialistas
                    ibn_eliminar.Visible = False
                    ibn_consultar.Visible = True
                    ibn_aprobar.Visible = False
                    ibn_modificar.Visible = False
                    ibn_salir.Visible = True
                    ibn_ingresar.Visible = False
                    ddl_Monitoreador.SelectedValue = "all"
                    If ViewState("Filas") > 0 Then
                        CargaGrillaEspecialista()
                    End If

                End If

            End If

            ViewState("Cod_Periodo") = ddl_PERIODO.SelectedValue.ToString
            ViewState("Desc_Periodo") = ddl_PERIODO.SelectedItem.ToString

        End If

    End Sub

    Protected Sub gv_InformeMonitoreo_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gv_InformeMonitoreo.RowDataBound

        If e.Row.RowIndex >= 0 Then

            If e.Row.Cells(4).Text = "&nbsp;" Then 'Estado del Informe Mensual
                e.Row.Cells(4).Text = "FALTA INGRESAR"
                e.Row.Cells(4).BackColor = Drawing.Color.LightPink
                e.Row.Cells(4).ForeColor = Drawing.Color.Purple
                'e.Row.Cells(8).ForeColor = Drawing.Color.FromName("#9c2d75")
            End If

            If e.Row.Cells(4).Text = "INICIADO" Then 'Estado del Informe Mensual
                e.Row.Cells(4).BackColor = Drawing.Color.Gray
                e.Row.Cells(4).ForeColor = Drawing.Color.White
            End If

            If e.Row.Cells(4).Text = "APROBADO" Then 'Estado del Informe Mensual
                'e.Row.Cells(4).Text = "FALTA INGRESAR"
                e.Row.Cells(4).BackColor = Drawing.Color.Lime
                'e.Row.Cells(4).ForeColor = Drawing.Color.Purple
                'e.Row.Cells(8).ForeColor = Drawing.Color.FromName("#9c2d75")
            End If

            If e.Row.Cells(4).Text = "OBSERVADO" Then 'Estado del Informe Mensual
                'e.Row.Cells(4).Text = "FALTA INGRESAR"
                e.Row.Cells(4).BackColor = Drawing.Color.SeaGreen
                'e.Row.Cells(4).ForeColor = Drawing.Color.Purple
                'e.Row.Cells(8).ForeColor = Drawing.Color.FromName("#9c2d75")
            End If

            If e.Row.Cells(4).Text = "TERMINADO" Then 'Estado del Informe Mensual
                e.Row.Cells(4).Text = "PARA APROBAR"
                e.Row.Cells(4).BackColor = Drawing.Color.Blue
                e.Row.Cells(4).ForeColor = Drawing.Color.White
                'e.Row.Cells(8).ForeColor = Drawing.Color.FromName("#9c2d75")
            End If

            If e.Row.Cells(11).Text = "1" Then 'Indicador de sí el el periodo de la lista estan dentro del rango de vida del proyecto
                e.Row.Cells(4).Text = "PROY/ACT CONCLUIDO"
                e.Row.Cells(4).BackColor = Drawing.Color.Black
                e.Row.Cells(4).ForeColor = Drawing.Color.GreenYellow
            End If

        End If

        ' FORMATEA ROWS
        If e.Row.RowType = DataControlRowType.DataRow Then
            ' ASIGNA EVENTOS
            e.Row.Attributes.Add("OnMouseOver", "Resaltar_On(this);")
            e.Row.Attributes.Add("OnMouseOut", "Resaltar_Off(this);")
            e.Row.Attributes("OnClick") = Page.ClientScript.GetPostBackClientHyperlink(Me.gv_InformeMonitoreo, "Select$" + e.Row.RowIndex.ToString)
        End If
    End Sub

    Protected Sub gv_InformeMonitoreo_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles gv_InformeMonitoreo.SelectedIndexChanged
        'captura de parametros de registro seleccionado
        Dim htxtPPER As HiddenField = CType(gv_InformeMonitoreo.SelectedRow.FindControl("hfPPER"), HiddenField)
        Dim htxtPOA As HiddenField = CType(gv_InformeMonitoreo.SelectedRow.FindControl("hfPOA"), HiddenField)
        Dim htxtOZ As HiddenField = CType(gv_InformeMonitoreo.SelectedRow.FindControl("hfOZ"), HiddenField)
        Dim htxtEntidad As HiddenField = CType(gv_InformeMonitoreo.SelectedRow.FindControl("hfEntidad"), HiddenField)
        Dim htxtSNIP As HiddenField = CType(gv_InformeMonitoreo.SelectedRow.FindControl("hfSNIP"), HiddenField)
        Dim htxtPeriodo As HiddenField = CType(gv_InformeMonitoreo.SelectedRow.FindControl("hfPeriodo"), HiddenField)
        Dim htxtPOACOD As HiddenField = CType(gv_InformeMonitoreo.SelectedRow.FindControl("hfPOACodigo"), HiddenField)
        Dim htxtPersona As HiddenField = CType(gv_InformeMonitoreo.SelectedRow.FindControl("hfPersona"), HiddenField)
        Dim htxtIDIM As HiddenField = CType(gv_InformeMonitoreo.SelectedRow.FindControl("hfIDIM"), HiddenField)
        Dim hfFis As HiddenField = CType(gv_InformeMonitoreo.SelectedRow.FindControl("hfFis"), HiddenField)
        Dim hfFin As HiddenField = CType(gv_InformeMonitoreo.SelectedRow.FindControl("hfFin"), HiddenField)

        Dim htxtVersionPoaVigente As HiddenField = CType(gv_InformeMonitoreo.SelectedRow.FindControl("hfVersionPoaVigente"), HiddenField)
        Dim htxtVersionPoaInforme As HiddenField = CType(gv_InformeMonitoreo.SelectedRow.FindControl("hfVersionPoaInforme"), HiddenField)

        Dim htxtEstadoProyActPeriodoLista As HiddenField = CType(gv_InformeMonitoreo.SelectedRow.FindControl("EstadoProyActPeriodoLista"), HiddenField)

        Try
            If Not htxtPPER Is Nothing Then
                ViewState("VSPPER") = htxtPPER.Value.ToString
            End If
            If Not htxtPOA Is Nothing Then
                ViewState("VSPOA") = htxtPOA.Value.ToString
            End If
            If Not htxtOZ Is Nothing Then
                ViewState("VSOZ") = htxtOZ.Value.ToString
            End If
            If Not htxtEntidad Is Nothing Then
                ViewState("VSEntidad") = htxtEntidad.Value.ToString
            End If
            If Not htxtSNIP Is Nothing Then
                ViewState("VSSNIP") = htxtSNIP.Value.ToString
            End If
            If Not htxtPOACOD Is Nothing Then
                ViewState("VSPOACOD") = htxtPOACOD.Value.ToString
            End If
            If Not htxtPersona Is Nothing Then
                ViewState("VSPERSONA") = htxtPersona.Value.ToString
            End If
            If Not htxtIDIM Is Nothing Then
                ViewState("VSIDIM") = htxtIDIM.Value.ToString
            End If
            If Not hfFis Is Nothing Then
                ViewState("hfFis") = hfFis.Value.ToString
            End If
            If Not hfFin Is Nothing Then
                ViewState("hfFin") = hfFin.Value.ToString
            End If

            ViewState("VS_VersionPoaVigente") = If(Not htxtVersionPoaVigente Is Nothing, htxtVersionPoaVigente.Value.ToString, "")
            ViewState("VS_VersionPoaInforme") = If(Not htxtVersionPoaInforme Is Nothing, htxtVersionPoaInforme.Value.ToString, "")

            ViewState("EstadoProyActPeriodoLista") = If(Not htxtEstadoProyActPeriodoLista Is Nothing, htxtEstadoProyActPeriodoLista.Value.ToString, "")

        Catch ex As Exception
            Throw ex
        End Try
    End Sub

    Protected Sub ddl_PERIODO_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddl_PERIODO.SelectedIndexChanged
        'Carga de grilla
        'ViewState("Cod_Periodo") = ddl_PERIODO.SelectedValue.ToString

        ViewState("Cod_Periodo") = ddl_PERIODO.SelectedValue.ToString
        ViewState("Desc_Periodo") = ddl_PERIODO.SelectedItem.ToString

        If ViewState("VSPerfil") = "EP" Then
            CargaGrillaEspecialista()
        ElseIf ViewState("VSPerfil") = "JO" Then
            CargaGrillaJefeInmediato()
        ElseIf ViewState("VSPerfil") = "MO" Then
            CargaGrillaMonitoreador()
        ElseIf ViewState("VSPerfil") = "AD" Then
            CargaGrillaAdministrador()
        ElseIf ViewState("VSPerfil") = "RE" Then
            CargaGrillaAdministrador()
        End If
        gv_InformeMonitoreo.SelectedIndex = -1

    End Sub

    Protected Sub ibn_ingresar_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ibn_ingresar.Click

        If gv_InformeMonitoreo.SelectedIndex = -1 Then
            alerta.Mostrar_Alerta("Aviso", "Debe seleccionar un Registro para comenzar a llenar los datos del Informe Mensual")
        Else
            'Captura de codigo del Informe Mensual IDIM
            Dim hfIDIM As HiddenField = CType(gv_InformeMonitoreo.SelectedRow.FindControl("hfIDIM"), HiddenField)
            Try
                If Not hfIDIM Is Nothing Then
                    ViewState("VSIDIM") = hfIDIM.Value.ToString
                End If
            Catch ex As Exception
                Throw ex
            End Try

            If ViewState("EstadoProyActPeriodoLista") = "1" Then
                'El 1 indica que en el periodo de la lista esta fuera del rango de vida del proyecto... 
                'Si el rango de vida es 201306-201308 y el periodo de la lista es 201309... entonces el resultado es 1 
                'Y por lo tanto no hay nada que registar en el periodo de la lista
                alerta.Mostrar_Alerta("Alerta", "Este Proyecto/Actividad se encuentra CONCLUIDO, no hay nada que registrar")
            Else
                'Redireccionamos a detalle de informe nuevo
                If ViewState("hfFis") = 1 And ViewState("hfFin") = 1 Then
                    If hfIDIM.Value.ToString = "" Then
                        Response.Redirect("PestanaInformeMensualMonitoreo.aspx?PPER=" + ViewState("VSPPER").ToString & "&NombrePOA=" & ViewState("VSPOA").ToString &
                                     "&OZ=" & ViewState("VSOZ").ToString & "&EJECUTOR=" & ViewState("VSEntidad").ToString & "&SNIP=" & ViewState("VSSNIP").ToString &
                                      "&POACOD=" & ViewState("VSPOACOD").ToString &
                                  "&Cod_Periodo=" & ViewState("Cod_Periodo").ToString & "&Desc_Periodo=" & ViewState("Desc_Periodo").ToString & "&PERSONA=" & ViewState("VSPERSONA").ToString & "&Version_Poa_Vigente=" & ViewState("VS_VersionPoaVigente") & "&Nuevo=1")
                    Else
                        alerta.Mostrar_Alerta("Aviso", "Este informe ya tiene datos, sólo SÍ está en estado ACTIVO podrá hacer modificaciones haciendo clic en el botón 'Modificar'")
                    End If
                Else
                    alerta.Mostrar_Alerta("Aviso", "No puede INGRESAR datos en este formato 03 (informe mensual) mientras no termine de llenar (cerrar proceso) su correspondiente formato 02 (avance físico y financiero)  ")
                End If
            End If
        End If
    End Sub

    'Botón Modificar
    Protected Sub ibn_modificar_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ibn_modificar.Click
        If gv_InformeMonitoreo.SelectedIndex = -1 Then
            alerta.Mostrar_Alerta("Alerta", "Debe seleccionar un Registro")
        Else
            'Captura de Estado del Informe Mensual IDIM
            Dim hfEstado As HiddenField = CType(gv_InformeMonitoreo.SelectedRow.FindControl("hfEstado"), HiddenField)
            Try
                If Not hfEstado Is Nothing Then
                    ViewState("VS_Estado_Inf_Mensual") = hfEstado.Value.ToString
                End If
            Catch ex As Exception
                Throw ex
            End Try

            If ViewState("EstadoProyActPeriodoLista") = "1" Then
                'El 1 indica que en el periodo de la lista esta fuera del rango de vida del proyecto... 
                'Si el rango de vida es 201306-201308 y el periodo de la lista es 201309... entonces el resultado es 1 
                'Y por lo tanto no hay nada que registar en el periodo de la lista
                alerta.Mostrar_Alerta("Alerta", "Este Proyecto/Actividad se encuentra CONCLUIDO, no hay nada que registrar")
            Else
                If ViewState("VS_Estado_Inf_Mensual") = "APROBADO" Then
                    alerta.Mostrar_Alerta("Alerta", "No puede Modificar el informe seleccionado ya que se encuentra en estado APROBADO")
                Else
                    'Redireccionamos a detalle de informe edición
                    If ViewState("hfFis") = 1 And ViewState("hfFin") = 1 Then
                        If ViewState("VSIDIM") = "" Then
                            alerta.Mostrar_Alerta("Alerta", "No puede Modificar el informe seleccionado ya que aún NO tiene datos, primero el Especialista Técnico debe ingresarlo haciendo clic en el botón  'Ingresar'")
                        Else
                            'RedireccionGET()
                            Response.Redirect("PestanaInformeMensualMonitoreo.aspx?PPER=" + ViewState("VSPPER").ToString & "&NombrePOA=" & ViewState("VSPOA").ToString &
                                         "&OZ=" & ViewState("VSOZ").ToString & "&EJECUTOR=" & ViewState("VSEntidad").ToString & "&SNIP=" & ViewState("VSSNIP").ToString &
                                       "&Cod_Periodo=" & ViewState("Cod_Periodo").ToString & "&Desc_Periodo=" & ViewState("Desc_Periodo").ToString & "&POACOD=" & ViewState("VSPOACOD").ToString & "&PERSONA=" & ViewState("VSPERSONA").ToString & "&IDIM=" & ViewState("VSIDIM").ToString & "&Version_Poa_Informe=" & ViewState("VS_VersionPoaInforme") & "&Nuevo=2&Est_Inf_Mensual=" & ViewState("VS_Estado_Inf_Mensual"))
                        End If
                    Else
                        alerta.Mostrar_Alerta("Aviso", "No puede MODIFICAR datos en este formato 03 (informe mensual) mientras no termine de llenar (cerrar proceso) su correspondiente formato 02 (avance físico y financiero)  ")
                    End If
                End If
            End If

        End If
    End Sub

    'hfEstado
    'Botón Aprobar
    Protected Sub ibn_aprobar_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ibn_aprobar.Click
        If gv_InformeMonitoreo.SelectedIndex = -1 Then
            alerta.Mostrar_Alerta("Alerta", "Debe seleccionar un Registro")
        Else
            'Captura de Estado del Informe Mensual IDIM
            Dim hfEstado As HiddenField = CType(gv_InformeMonitoreo.SelectedRow.FindControl("hfEstado"), HiddenField)
            Try
                If Not hfEstado Is Nothing Then
                    ViewState("VS_Estado_Inf_Mensual") = hfEstado.Value.ToString
                End If
            Catch ex As Exception
                Throw ex
            End Try

            If ViewState("EstadoProyActPeriodoLista") = "1" Then
                'El 1 indica que en el periodo de la lista esta fuera del rango de vida del proyecto... 
                'Si el rango de vida es 201306-201308 y el periodo de la lista es 201309... entonces el resultado es 1 
                'Y por lo tanto no hay nada que registar en el periodo de la lista
                alerta.Mostrar_Alerta("Alerta", "Este Proyecto/Actividad se encuentra CONCLUIDO, no hay nada que aprobar")
            Else
                If (ViewState("VS_Estado_Inf_Mensual") = "TERMINADO") Or (ViewState("VS_Estado_Inf_Mensual") = "OBSERVADO") Then
                    'Redireccionamos a detalle de informe para aprobarlo
                    Response.Redirect("PestanaInformeMensualMonitoreo.aspx?PPER=" + ViewState("VSPPER").ToString & "&NombrePOA=" & ViewState("VSPOA").ToString &
                                 "&OZ=" & ViewState("VSOZ").ToString & "&EJECUTOR=" & ViewState("VSEntidad").ToString & "&SNIP=" & ViewState("VSSNIP").ToString &
                                 "&Cod_Periodo=" & ViewState("Cod_Periodo").ToString & "&Desc_Periodo=" & ViewState("Desc_Periodo").ToString & "&POACOD=" & ViewState("VSPOACOD").ToString & "&PERSONA=" & ViewState("VSPERSONA").ToString & "&IDIM=" & ViewState("VSIDIM").ToString & "&Est_Inf_Mensual=" & ViewState("VS_Estado_Inf_Mensual") & "&Version_Poa_Informe=" & ViewState("VS_VersionPoaInforme"))
                ElseIf (ViewState("VS_Estado_Inf_Mensual") = "APROBADO") Then
                    alerta.Mostrar_Alerta("Alerta", "Este informe ya se encuentra APROBADO")
                Else
                    alerta.Mostrar_Alerta("Alerta", "Sólo se puede aprobar un informe al cual el Monitoreador lo hay registrado como 'TERMINADO'")
                End If
            End If

        End If
    End Sub

    'Botón Consultar
    Protected Sub ibn_consultar_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ibn_consultar.Click
        If gv_InformeMonitoreo.SelectedIndex = -1 Then
            alerta.Mostrar_Alerta("Alerta", "Debe seleccionar un Registro")
        Else
            'Captura de Estado del Informe Mensual IDIM
            Dim hfEstado As HiddenField = CType(gv_InformeMonitoreo.SelectedRow.FindControl("hfEstado"), HiddenField)
            Try
                If Not hfEstado Is Nothing Then
                    ViewState("VS_Estado_Inf_Mensual") = hfEstado.Value.ToString
                End If
            Catch ex As Exception
                Throw ex
            End Try

            If ViewState("EstadoProyActPeriodoLista") = "1" Then
                'El 1 indica que en el periodo de la lista esta fuera del rango de vida del proyecto... 
                'Si el rango de vida es 201306-201308 y el periodo de la lista es 201309... entonces el resultado es 1 
                'Y por lo tanto no hay nada que registar en el periodo de la lista
                alerta.Mostrar_Alerta("Alerta", "Este Proyecto/Actividad se encuentra CONCLUIDO, no hay nada que consultar")
            Else
                'Redireccionamos a detalle de informe edcion
                If ViewState("VSIDIM") = "" Then
                    alerta.Mostrar_Alerta("Alerta", "No se puede Consultar el informe seleccionado ya que aún no tiene datos, primero el Especialista Técnico debe ingresarlo haciendo clic en el botón  'Ingresar'")
                Else
                    Response.Redirect("PestanaInformeMensualMonitoreo.aspx?PPER=" + ViewState("VSPPER").ToString & "&NombrePOA=" & ViewState("VSPOA").ToString &
                                 "&OZ=" & ViewState("VSOZ").ToString & "&EJECUTOR=" & ViewState("VSEntidad").ToString & "&SNIP=" & ViewState("VSSNIP").ToString &
                                 "&Cod_Periodo=" & ViewState("Cod_Periodo").ToString & "&Desc_Periodo=" & ViewState("Desc_Periodo").ToString & "&POACOD=" & ViewState("VSPOACOD").ToString & "&PERSONA=" & ViewState("VSPERSONA").ToString & "&IDIM=" & ViewState("VSIDIM").ToString & "&Nuevo=2" & "&Est_Inf_Mensual=" & ViewState("VS_Estado_Inf_Mensual") & "&Version_Poa_Informe=" & ViewState("VS_VersionPoaInforme"))
                End If
            End If

        End If
    End Sub

    'Botón Salir
    Protected Sub ibn_salir_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ibn_salir.Click
        Response.Redirect("inicio.aspx")
    End Sub

    Protected Sub btn_busca_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles btn_busca.Click
        'carga de grilla si tiene registros
        If ViewState("Filas") > 0 Then

            If ViewState("VSPerfil") = "EP" Then
                CargaGrillaEspecialista()
            ElseIf ViewState("VSPerfil") = "JO" Then
                CargaGrillaJefeInmediato()
            ElseIf ViewState("VSPerfil") = "MO" Then
                CargaGrillaMonitoreador()
            ElseIf ViewState("VSPerfil") = "AD" Then
                CargaGrillaAdministrador()
            End If

            gv_InformeMonitoreo.SelectedIndex = -1
        End If
    End Sub

    Protected Sub ddl_Monitoreador_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ddl_Monitoreador.SelectedIndexChanged
        If ViewState("VSPerfil") = "EP" Then
            CargaGrillaEspecialista()
        ElseIf ViewState("VSPerfil") = "JO" Then
            CargaGrillaJefeInmediato()
        ElseIf ViewState("VSPerfil") = "MO" Then
            CargaGrillaMonitoreador()
        ElseIf ViewState("VSPerfil") = "AD" Then
            CargaGrillaAdministrador()
        End If

        gv_InformeMonitoreo.SelectedIndex = -1
    End Sub

#End Region

#Region "PROCEDIMIENTOS"

    'By Tigrito (02/07/2013)
    'Cargar grilla de informes para el Administrador
    Public Sub CargaGrillaAdministrador()
        Dim objusuario As InformeMensualBC
        Dim objData As DataTable
        objusuario = New InformeMensualBC
        objData = New DataTable
        objData = objusuario.ListaInformeAdministrador(ddl_PERIODO.SelectedValue.ToString, Session("Año"))
        gv_InformeMonitoreo.DataSource = objData
        gv_InformeMonitoreo.DataBind()
    End Sub

    'Cargar grilla de informes para el Monitoreador
    Public Sub CargaGrillaMonitoreador()
        Dim objusuario As InformeMensualBC
        Dim objData As DataTable
        objusuario = New InformeMensualBC
        objData = New DataTable
        objData = objusuario.ListaInformeMonitoreador(ViewState("VSpersona"), ddl_PERIODO.SelectedValue.ToString, Session("Año"))
        gv_InformeMonitoreo.DataSource = objData
        gv_InformeMonitoreo.DataBind()
    End Sub

    'By Tigrito (02/07/2013)
    'Cargar grilla de informes para el Especialista
    Public Sub CargaGrillaEspecialista()
        Dim objusuario As InformeMensualBC
        Dim objData As DataTable
        objusuario = New InformeMensualBC
        objData = New DataTable
        objData = objusuario.ListaInformeEspecialista(ViewState("VSpersona"), ddl_PERIODO.SelectedValue.ToString, Session("Año"))
        gv_InformeMonitoreo.DataSource = objData
        gv_InformeMonitoreo.DataBind()
    End Sub

    'By Tigrito (04/07/2013)
    'Cargar grilla de informes para el Jefe Inmediato
    Public Sub CargaGrillaJefeInmediato()
        Dim objusuario As InformeMensualBC
        Dim objData As DataTable
        objusuario = New InformeMensualBC
        objData = New DataTable
        If ddl_Monitoreador.SelectedValue = "all" Then
            objData = objusuario.ListaInformeJefeInmmediato(ViewState("VSpersona"), ddl_PERIODO.SelectedValue.ToString, Session("Año"))
        Else
            objData = objusuario.ListaInformeJefeInmmediato(ddl_Monitoreador.SelectedValue, ddl_PERIODO.SelectedValue.ToString, Session("Año"))
        End If
        gv_InformeMonitoreo.DataSource = objData
        gv_InformeMonitoreo.DataBind()
    End Sub

    Public Sub ListaPeriodo()
        'Dim objPPER As PPERBC
        'Dim objData As DataTable
        'objPPER = New PPERBC
        'objData = New DataTable
        'objData = objPPER.ListaPeriodo("INFORME_MENSUAL_INGRESO", Session("Año"))
        'ViewState("Filas") = objData.Rows.Count
        'ddl_PERIODO.DataSource = objData
        'ddl_PERIODO.DataTextField = "DESCRIPCION"
        'ddl_PERIODO.DataValueField = "PERIODO"
        'ddl_PERIODO.DataBind()
        'ddl_PERIODO.SelectedIndex = 0
        Dim objgeneralbc As GeneralBC = New GeneralBC
        Dim dtMes As DataTable
        Dim persona As String
        If Session("Perfil") = "AD" Or Session("Perfil") = "RE" Then
            persona = ""
        Else
            persona = Session("Persona").ToString()
        End If

        dtMes = objgeneralbc.ListaMesInforme(persona, "", Session("Año"))
        ddl_PERIODO.DataSource = dtMes
        ddl_PERIODO.DataTextField = "DESCRIPCION"
        ddl_PERIODO.DataValueField = "PERIODO"
        ddl_PERIODO.DataBind()
        ddl_PERIODO.SelectedIndex = dtMes.Rows.Count - 1


        'ViewState("VSPERIODO") = ddl_PERIODO.SelectedValue.ToString
        'By Tigrito (05/08/2013) Comented
        'ViewState("Cod_Periodo") = ddl_PERIODO.SelectedValue.ToString
        'ViewState("Desc_Periodo") = ddl_PERIODO.SelectedItem.ToString
    End Sub

    Public Sub ListaMonitoreador()
        Dim objusuario As UsuarioBC
        Dim objData As DataTable
        Dim user As String
        objusuario = New UsuarioBC
        objData = New DataTable

        If ViewState("VSPerfil") = "AD" Or ViewState("VSPerfil") = "RE" Then
            user = "all"
        Else
            user = ViewState("VSpersona")
        End If

        objData = objusuario.ListaUsuarioperfil("MO", user)
        Dim drusuariorow As DataRow = objData.NewRow()
        drusuariorow("NOMBRE") = "--Seleccione--"
        drusuariorow("PERSONA") = "all"
        objData.Rows.Add(drusuariorow)
        ddl_Monitoreador.DataSource = objData
        ddl_Monitoreador.DataTextField = "NOMBRE"

        ddl_Monitoreador.DataValueField = "PERSONA"
        ddl_Monitoreador.DataBind()
    End Sub

#End Region

    'Private Sub RedireccionGET()
    '    Dim RespuestaServidor As String = String.Empty
    '    Dim Parametros As Dictionary(Of String, String) = New Dictionary(Of String, String)()
    '    Parametros.Add("PPER", ViewState("VSPPER").ToString)
    '    Parametros.Add("NombrePOA", ViewState("VSPOA").ToString)
    '    Parametros.Add("OZ", ViewState("VSOZ").ToString)
    '    Parametros.Add("EJECUTOR", ViewState("VSEntidad").ToString)
    '    Parametros.Add("SNIP", ViewState("VSSNIP").ToString)
    '    Parametros.Add("Cod_Periodo", ViewState("Cod_Periodo").ToString)
    '    Parametros.Add("Desc_Periodo", ViewState("Desc_Periodo").ToString)
    '    Parametros.Add("POACOD", ViewState("VSPOACOD").ToString)
    '    Parametros.Add("PERSONA", ViewState("VSPERSONA").ToString)
    '    Parametros.Add("IDIM", ViewState("VSIDIM").ToString)
    '    Parametros.Add("Version_Poa_Informe", ViewState("VS_VersionPoaInforme").ToString)
    '    Parametros.Add("Nuevo", "2")
    '    Parametros.Add("Est_Inf_Mensual", ViewState("VS_Estado_Inf_Mensual").ToString)
    '    RespuestaServidor = RemotePost.GetResponse_GET("http://www.simdev.gob.pe/Pper_Pruebas/Devida/PestanaInformeMensualMonitoreo.aspx", Parametros)
    'End Sub

End Class
